7127
2805
Je souhaite afficher des articles appartenant à différents clients. À cet effet, je récupère des données via un appel ajax et je regroupe ensuite les données en fonction de chaque client unique. J'ajoute ensuite les données groupées à mon html.
La structure de mes données groupées ressemble à:
"John Doe": [
{
"Item_id": 1
"Item_name": "abc"
},
{
"Item_id": 2
"Item_name": "def"
},
],
"Jane Doe":
{
"Item_id": 3
"Item_name": "ghi"
},
{
"Item_id": 4
"Item_name": "jkl"
},
]
Mon code ressemble à:
$ .each (groupedData, function (clé, valeur) {
$ ('. cust_items'). append (`

`+ clé +`

Numéro d'article Nom de l'élément
`); $ .each (valeur, fonction (ky, val) { $ ('# dataTable tbody'). append ( ` `+ ky +` `+ val.Item_name +` `); }); }); Je suis confronté à une inssue dans laquelle tous les articles sont affichés sous le premier client tandis que les données sont affichées correctement sous le deuxième client.
Il vous manque des virgules après les propriétés et les objets de la propriété Jane Doe ne sont pas entourés de []. Pensez à modifier votre objet groupedData car la syntaxe n'est pas correcte.
Edit: a également ajusté la chaîne de modèle et l'accès à la table avec un identifiant dynamique.
Échantillon:
laissez groupedData = {
«John Doe»: [{
"Item_id": 1,
"Nom_élément": "abc"
},
{
"Item_id": 2,
"Item_name": "def"
}
],
"Jane Doe": [{
"Item_id": 3,
"Item_name": "ghi"
},
{
"Item_id": 4,
"Item_name": "jkl"
}
]
};
$ .each (groupedData, function (clé, valeur) {
$ ('. cust_items'). append (`

$ {key}

Numéro d'article Nom de l'élément
`); $ .each (valeur, fonction (ky, val) { $ (`#dataTable _ $ {key.split (") .join ("_")} tbody`) .append ( ` $ {ky} $ {val.Item_name} `); }); });
| Je suis un peu en retard à la fête, mais voici un moyen amusant et pratique d'afficher vos données de manière dynamique en utilisant l'élément